#include"SeqList.h"


void test1()
{
	SL s1;
	SLInit(&s1);
	SLPushBack(&s1, 1);
	SLPushBack(&s1, 2);
	SLPushBack(&s1, 3);
	SLPushBack(&s1, 4);
	SLPushBack(&s1, 5);
	SLPushBack(&s1, 6);
	SLPushBack(&s1, 7);
	SLPushBack(&s1, 8);
	SLPrint(&s1);
}

void test2()
{
	SL s1;
	SLInit(&s1);
	SLPushBack(&s1, 1);
	SLPushBack(&s1, 2);
	SLPushBack(&s1, 3);
	SLPushBack(&s1, 4);
	SLPushBack(&s1, 5);
	SLPushBack(&s1, 6);
	SLPushBack(&s1, 7);
	SLPushBack(&s1, 8);
	SLPrint(&s1);

	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPrint(&s1);
}

void test3()
{
	SL s1;
	SLInit(&s1);
	SLPushBack(&s1, 1);
	SLPushBack(&s1, 2);
	SLPushBack(&s1, 3);
	SLPushBack(&s1, 4);
	SLPushBack(&s1, 5);
	SLPushBack(&s1, 6);
	SLPushBack(&s1, 7);
	SLPushBack(&s1, 8);
	SLPrint(&s1);

	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPrint(&s1);

	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPrint(&s1);
}


void test4()
{
	SL s1;
	SLInit(&s1);
	SLPushBack(&s1, 1);
	SLPushBack(&s1, 2);
	SLPushBack(&s1, 3);
	SLPushBack(&s1, 4);
	SLPushBack(&s1, 5);
	SLPushBack(&s1, 6);
	SLPushBack(&s1, 7);
	SLPushBack(&s1, 8);
	SLPrint(&s1);

	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPrint(&s1);

	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPrint(&s1);

	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPrint(&s1);


	SLPushFront(&s1, 0);
	SLPushFront(&s1, 2);
	SLPrint(&s1);

	int ret = SLSearch(&s1, 2);
	if (ret != -1)
	{
		printf("%d ", s1.arr[ret]);
	}
}

void test5()
{
	SL s1;
	SLInit(&s1);
	SLPushBack(&s1, 1);
	SLPushBack(&s1, 2);
	SLPushBack(&s1, 3);
	SLPushBack(&s1, 4);
	SLPushBack(&s1, 5);
	SLPushBack(&s1, 6);
	SLPushBack(&s1, 7);
	SLPushBack(&s1, 8);
	SLPrint(&s1);

	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPopBack(&s1);
	SLPrint(&s1);

	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPushFront(&s1, 0);
	SLPrint(&s1);

	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPopFront(&s1);
	SLPrint(&s1);


	SLPushFront(&s1, 0);
	SLPushFront(&s1, 1);
	SLPushFront(&s1, 5);
	SLPushFront(&s1, 3);
	SLPushFront(&s1, 4);
	SLPushFront(&s1, 5);
	SLPushFront(&s1, 6);
	SLPushFront(&s1, 2);
	SLPrint(&s1);

	int ret = SLSearch(&s1, 2);
	if (ret != -1)
	{
		printf("i = %d\n", ret);
	}

	SeqListInsert(&s1, 3, 100);
	SLPrint(&s1);

	SeqListErase(&s1, 3);
	SLPrint(&s1);

	SLDestory(&s1);
}

int main()
{
	//test1();
	//test2();
	//test3();
	//test4();
	test5();
	return 0;
}